package br.com.vti.sisp_sicrim.antigo.controller.relatorios;

import java.io.FileNotFoundException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import net.sf.jasperreports.engine.JRException;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.interceptor.download.InputStreamDownload;
import br.com.vti.sisp_sicrim.antigo.util.Relatorios;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe responsavel por encapsular o tratamento e as consistencias da tela Scrr1100Report
 * 
 * @author Incode - Data: mai/2014
 * 
 */
public class Scrr1100Report {
	private int dataCorrente;
	private int jPagina;
	private int jDiaIni;
	private int jMesIni;
	private int jAnoIni;
	private int jDiaFim;
	private int jMesFim;
	private int jAnoFim;
	private long jReggeral;
	private String jNomeCompleto;
	private String jNomeAnterior;
	private int dnas;
	private int mnas;
	private int anas;
	private String[][] dedos = new String[6][3];
	private String[] jAlcunha = new String[5];
	private String jDelegacia;
	private String jDescMunicipio;
	private int jMunicipio;
	private String jUfRegGeral;
	private int jDiaReg;
	private int jMesReg;
	private int jAnoReg;
	private long jNoAutos;
	private int jDiaAtuacao;
	private int jMesAtuacao;
	private int jAnoAtuacao;
	private long jIdentidade;
	private String jPai;
	private String jMae;
	private int jSexo;
	private String jNaturalidade;
	private int jCodMunNascimento;
	private String jUfNascimento;
	private String jDocApresentado;
	private long jNumDocApresentado;
	private String jOrgaoExpUf;
	private String jProfissao;
	private int jInstrucao;
	private String jDescInstrucao;
	private String jAvRua;
	private int jNumero;
	private String jBairro;
	private int jMunEndereco;
	private String jUfEndereco;
	private int jCep;
	private String jComplemento;
	private String jStatus;
	private String jDescreg;
	private int jAltura;
	private String jDescAltura;
	private int jEstadoCivil;
	private String jDescCivil;
	private int jCutis;
	private String jDescCutis;
	private int jCorCabelo;
	private String jDescCor;
	private int jTipoCabelo;
	private String jDescTipocabelo;
	private int jCorOlhos;
	private String jDescOlho;
	private int jCompleicao;
	private String jDescCompleicao;
	private String jSinais;
	private String jNomeVitima;
	private String jMotivo;
	private int jOcorrencia;
	private int jMatricula;
	private String jNomeDigitador;
	private int jDiaDig;
	private int jMesDig;
	private int jAnoDig;
	private int jHorario;
	private String[] jObservacoes = new String[5];
	private String horaCorrente;
	private Result result;
	private Sessao sessao;
	private Relatorios report; // Classes views

	// Classes includes
	public Scrr1100Report() throws JRException, ParseException {
		inicializar();
	}

	public Scrr1100Report(Sessao sessao) throws JRException, ParseException {
		this.sessao = sessao;
		inicializar();
	}

	public void inicializar() throws JRException, ParseException {
		report = new Relatorios();
		dataCorrente = 0;
		dataCorrente = UtilBean.inverteDataCorrente();
		jPagina = 0;
		jDiaIni = 0;
		jMesIni = 0;
		jAnoIni = 0;
		jDiaFim = 0;
		jMesFim = 0;
		jAnoFim = 0;
		jReggeral = 0;
		jNomeCompleto = "";
		jNomeAnterior = "";
		jAlcunha = new String[5];
		dnas = 0;
		mnas = 0;
		anas = 0;
		dedos = new String[6][3];
		horaCorrente = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()); // *TIMX
		report.setNumeroRel(1, "D");
		{
			report.setNumeroLinhaRel(1, 2);
			{
				report.adicionaCampo(2, 7, "lit_2_7", "C", "", "GEJUSPC");
				report.adicionaCampo(10, 62, "lit_10_62", "C", "", "- GERENCIA DE ESTADO DA JUSTICA, SEGURANCA PUBLICA E CIDADANIA");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(2, 3);
			{
				report.adicionaCampo(2, 3, "lit_2_3", "C", "", "STI");
				report.adicionaCampo(10, 40, "lit_10_40", "C", "", "- SUBGERENCIA DE TECNOLOGIA DA INFORMCAO");
				report.adicionaCampo(69, 8, "dataCorrente", "N", "99/99/9999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(3, 2);
			{
				report.adicionaCampo(1, 62, "lit_1_62", "C", "", "INSTITUTO DE IDENTIFICACAO / SISTEMA DE IDENTIFICACAO CRIMINAL");
				report.adicionaCampo(71, 8, "horaCorrente", "S", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(4, 2);
			{
				report.adicionaCampo(63, 7, "lit_63_7", "C", "", "Pagina.");
				report.adicionaCampo(74, 5, "Jpagina", "N", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(6, 1);
			{
				report.adicionaCampo(28, 24, "lit_28_24", "C", "", "FICHA DE INDICE CRIMINAL");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(8, 12);
			{
				report.adicionaCampo(1, 27, "lit_1_27", "C", "", "Periodo de Referencia.....:");
				report.adicionaCampo(30, 2, "Jdiaini", "N", "99", "");
				report.adicionaCampo(33, 1, "lit_33_1", "C", "", "/");
				report.adicionaCampo(35, 2, "Jmesini", "N", "99", "");
				report.adicionaCampo(38, 1, "lit_38_1", "C", "", "/");
				report.adicionaCampo(40, 4, "Janoini", "N", "", "");
				report.adicionaCampo(46, 1, "lit_46_1", "C", "", "a");
				report.adicionaCampo(49, 2, "Jdiafim", "N", "99", "");
				report.adicionaCampo(52, 1, "lit_52_1", "C", "", "/");
				report.adicionaCampo(55, 2, "Jmesfim", "N", "99", "");
				report.adicionaCampo(58, 1, "lit_58_1", "C", "", "/");
				report.adicionaCampo(60, 4, "Janofim", "N", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(10, 2);
			{
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "Registro Geral..:");
				report.adicionaCampo(19, 13, "JregGeral", "N", "9999999999999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(12, 2);
			{
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "Nome Completo...:");
				report.adicionaCampo(19, 60, "Jnomecompleto", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(13, 2);
			{
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "Nome Anterior...:");
				report.adicionaCampo(19, 60, "Jnomeanterior", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(14, 2);
			{
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "Alcunha.........:");
				report.adicionaCampo(19, 30, "Jalcunha[1]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(15, 6);
			{
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "Data Nascimento.:");
				report.adicionaCampo(19, 2, "Dnas", "N", "99", "");
				report.adicionaCampo(22, 1, "lit_22_1", "C", "", "/");
				report.adicionaCampo(24, 2, "Mnas", "N", "99", "");
				report.adicionaCampo(27, 1, "lit_27_1", "C", "", "/");
				report.adicionaCampo(29, 4, "Anas", "N", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(16, 1);
			{
				report.adicionaCampo(19, 30, "Jalcunha[2]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(17, 3);
			{
				report.adicionaCampo(23, 2, "lit_23_2", "C", "", "<<");
				report.adicionaCampo(27, 21, "lit_27_21", "C", "", "FORMULA DATILOSCOPICA");
				report.adicionaCampo(50, 2, "lit_50_2", "C", "", ">>");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(18, 1);
			{
				report.adicionaCampo(19, 30, "Jalcunha[3]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(19, 6);
			{
				report.adicionaCampo(1, 2, "lit_1_2", "C", "", "D|");
				report.adicionaCampo(4, 7, "Dedos[1][1]", "X", "", "");
				report.adicionaCampo(21, 7, "Dedos[2][1]", "X", "", "");
				report.adicionaCampo(38, 7, "Dedos[3][1]", "X", "", "");
				report.adicionaCampo(55, 7, "Dedos[4][1]", "X", "", "");
				report.adicionaCampo(72, 7, "Dedos[5]][1]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(20, 5);
			{
				report.adicionaCampo(3, 9, "lit_3_9", "C", "", "POLEGARES");
				report.adicionaCampo(19, 11, "lit_19_11", "C", "", "INDICADORES");
				report.adicionaCampo(38, 6, "lit_38_6", "C", "", "MEDIOS");
				report.adicionaCampo(55, 8, "lit_55_8", "C", "", "ANELARES");
				report.adicionaCampo(72, 7, "lit_72_7", "C", "", "MINIMOS");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(21, 6);
			{
				report.adicionaCampo(1, 2, "lit_1_2", "C", "", "E|");
				report.adicionaCampo(4, 7, "Dedos[1][2]", "X", "", "");
				report.adicionaCampo(21, 7, "Dedos[2][2]", "X", "", "");
				report.adicionaCampo(38, 7, "Dedos[3][2]", "X", "", "");
				report.adicionaCampo(55, 7, "Dedos[4][2]", "X", "", "");
				report.adicionaCampo(72, 7, "Dedos[5][2]", "X", "", "");
				report.setFimLinhaRel();
			}
		}
		report.setNumeroRel(2, "D");
		{
			report.setNumeroLinhaRel(2, 2);
			{
				report.adicionaCampo(1, 48, "lit_1_48", "C", "", "Delegacia Instauradora do Inquerito ou Processo:");
				report.adicionaCampo(50, 30, "Jdelegacia", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(3, 8);
			{
				report.adicionaCampo(1, 5, "lit_1_5", "C", "", "Mun.:");
				report.adicionaCampo(7, 30, "Jdescmunicipio", "X", "", "");
				report.adicionaCampo(38, 5, "lit_38_5", "C", "", "Cod.:");
				report.adicionaCampo(44, 4, "Jmunicipio", "N", "9999", "");
				report.adicionaCampo(49, 3, "lit_49_3", "C", "", "UF:");
				report.adicionaCampo(53, 2, "Jufreggeral", "X", "", "");
				report.adicionaCampo(63, 3, "lit_63_3", "C", "", "RG:");
				report.adicionaCampo(67, 13, "JregGeral", "N", "9999999999999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(4, 16);
			{
				report.adicionaCampo(1, 6, "lit_1_6", "C", "", "Dt.Rg:");
				report.adicionaCampo(8, 2, "Jdiareg", "N", "99", "");
				report.adicionaCampo(11, 1, "lit_11_1", "C", "", "/");
				report.adicionaCampo(13, 2, "Jmesreg", "N", "99", "");
				report.adicionaCampo(16, 1, "lit_16_1", "C", "", "/");
				report.adicionaCampo(18, 4, "Janoreg", "N", "", "");
				report.adicionaCampo(23, 6, "lit_23_6", "C", "", "N.Aut:");
				report.adicionaCampo(30, 13, "Jnoautos", "N", "9999999999999", "");
				report.adicionaCampo(44, 3, "lit_44_3", "C", "", "DT:");
				report.adicionaCampo(48, 2, "Jdiaatuacao", "N", "99", "");
				report.adicionaCampo(51, 1, "lit_51_1", "C", "", "/");
				report.adicionaCampo(53, 2, "Jmesatuacao", "N", "99", "");
				report.adicionaCampo(56, 1, "lit_56_1", "C", "", "/");
				report.adicionaCampo(58, 4, "Janoatuacao", "N", "9999", "");
				report.adicionaCampo(63, 3, "lit_63_3", "C", "", "RF:");
				report.adicionaCampo(67, 13, "Jidentidade", "N", "9999999999999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(5, 2);
			{
				report.adicionaCampo(1, 18, "lit_1_18", "C", "", "Filiacao....: Pai:");
				report.adicionaCampo(20, 60, "Jpai", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(6, 2);
			{
				report.adicionaCampo(15, 4, "lit_15_4", "C", "", "Mae:");
				report.adicionaCampo(20, 60, "Jmae", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(8, 10);
			{
				report.adicionaCampo(1, 11, "lit_1_11", "C", "", "Alcunha(s):");
				report.adicionaCampo(13, 30, "Jalcunha[1]", "X", "", "");
				report.adicionaCampo(44, 5, "lit_44_5", "C", "", "Sexo:");
				report.adicionaCampo(50, 1, "Jsexo", "N", "", "");
				report.adicionaCampo(53, 12, "lit_53_12", "C", "", "Nascimento.:");
				report.adicionaCampo(66, 2, "Dnas", "N", "99", "");
				report.adicionaCampo(69, 1, "lit_69_1", "C", "", "/");
				report.adicionaCampo(71, 2, "Mnas", "N", "99", "");
				report.adicionaCampo(74, 1, "lit_74_1", "C", "", "/");
				report.adicionaCampo(76, 4, "Anas", "N", "9999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(9, 6);
			{
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "Local Nascimento:");
				report.adicionaCampo(19, 35, "Jnaturalidade", "X", "", "");
				report.adicionaCampo(55, 13, "lit_55_13", "C", "", "Cod.Mun.Nasc:");
				report.adicionaCampo(69, 4, "Jcodmunnascimento", "N", "9999", "");
				report.adicionaCampo(74, 3, "lit_74_3", "C", "", "UF:");
				report.adicionaCampo(78, 2, "Jufnascimento", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(10, 6);
			{
				report.adicionaCampo(1, 10, "lit_1_10", "C", "", "Doc.Apres:");
				report.adicionaCampo(12, 30, "Jdocapresentado", "X", "", "");
				report.adicionaCampo(43, 3, "lit_43_3", "C", "", "No:");
				report.adicionaCampo(47, 13, "Jnumdocapresentado", "N", "9999999999999", "");
				report.adicionaCampo(61, 3, "lit_61_3", "C", "", "ORG");
				report.adicionaCampo(65, 15, "Jorgaoexpuf", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(11, 6);
			{
				report.adicionaCampo(1, 13, "lit_1_13", "C", "", "Profissao...:");
				report.adicionaCampo(15, 30, "Jprofissao", "X", "", "");
				report.adicionaCampo(46, 9, "lit_46_9", "C", "", "Instrucao");
				report.adicionaCampo(56, 1, "Jinstrucao", "N", "9", "");
				report.adicionaCampo(58, 1, "lit_58_1", "C", "", "-");
				report.adicionaCampo(60, 20, "Jdescinstrucao", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(13, 6);
			{
				report.adicionaCampo(1, 7, "lit_1_7", "C", "", "Endere:");
				report.adicionaCampo(9, 30, "Javrua", "X", "", "");
				report.adicionaCampo(40, 3, "lit_40_3", "C", "", "No:");
				report.adicionaCampo(44, 8, "Jnumero", "N", "99999999", "");
				report.adicionaCampo(53, 6, "lit_53_6", "C", "", "Bairr:");
				report.adicionaCampo(60, 20, "Jbairro", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(14, 8);
			{
				report.adicionaCampo(1, 9, "lit_1_9", "C", "", "Municip.:");
				report.adicionaCampo(11, 4, "Jmunendereco", "N", "9999", "");
				report.adicionaCampo(16, 7, "lit_16_7", "C", "", "Estado:");
				report.adicionaCampo(24, 2, "Jufendereco", "X", "", "");
				report.adicionaCampo(27, 3, "lit_27_3", "C", "", "CEP");
				report.adicionaCampo(31, 8, "Jcep", "N", "99999999", "");
				report.adicionaCampo(40, 19, "lit_40_19", "C", "", "Complemento Endere:");
				report.adicionaCampo(60, 20, "Jcomplemento", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(15, 4);
			{
				report.adicionaCampo(1, 20, "lit_1_20", "C", "", "Status do Registro.:");
				report.adicionaCampo(22, 1, "Jstatus", "X", "", "");
				report.adicionaCampo(24, 1, "lit_24_1", "C", "", "-");
				report.adicionaCampo(26, 45, "Jdescreg", "X", "", "");
				report.setFimLinhaRel();
			}
		}
		report.setNumeroRel(3, "D");
		{
			report.setNumeroLinhaRel(1, 8);
			{
				report.adicionaCampo(1, 12, "lit_1_12", "C", "", "Altura.....:");
				report.adicionaCampo(14, 1, "Jaltura", "N", "9", "");
				report.adicionaCampo(16, 1, "lit_16_1", "C", "", "-");
				report.adicionaCampo(18, 20, "Jdescaltura", "X", "", "");
				report.adicionaCampo(40, 14, "lit_40_14", "C", "", "Estado Civil.:");
				report.adicionaCampo(55, 1, "Jestadocivil", "N", "9", "");
				report.adicionaCampo(57, 1, "lit_57_1", "C", "", "-");
				report.adicionaCampo(60, 20, "Jdesccivil", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(2, 8);
			{
				report.adicionaCampo(1, 12, "lit_1_12", "C", "", "Cutis......:");
				report.adicionaCampo(14, 1, "Jcutis", "N", "9", "");
				report.adicionaCampo(16, 1, "lit_16_1", "C", "", "-");
				report.adicionaCampo(18, 20, "Jdesccutis", "X", "", "");
				report.adicionaCampo(40, 14, "lit_40_14", "C", "", "Cor Cabelo...:");
				report.adicionaCampo(55, 1, "Jcorcabelo", "N", "9", "");
				report.adicionaCampo(57, 1, "lit_57_1", "C", "", "-");
				report.adicionaCampo(60, 20, "Jdesccor", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(3, 8);
			{
				report.adicionaCampo(1, 12, "lit_1_12", "C", "", "Tipo Cabelo:");
				report.adicionaCampo(14, 1, "Jtipocabelo", "N", "9", "");
				report.adicionaCampo(16, 1, "lit_16_1", "C", "", "-");
				report.adicionaCampo(18, 20, "Jdesctipocabelo", "X", "", "");
				report.adicionaCampo(40, 14, "lit_40_14", "C", "", "Cor Olhos....:");
				report.adicionaCampo(55, 1, "Jcorolhos", "N", "9", "");
				report.adicionaCampo(57, 1, "lit_57_1", "C", "", "-");
				report.adicionaCampo(60, 20, "Jdescolho", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(4, 4);
			{
				report.adicionaCampo(1, 12, "lit_1_12", "C", "", "Compleicao.:");
				report.adicionaCampo(14, 1, "Jcompleicao", "N", "9", "");
				report.adicionaCampo(16, 1, "lit_16_1", "C", "", "-");
				report.adicionaCampo(18, 20, "Jdesccompleicao", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(5, 2);
			{
				report.adicionaCampo(1, 18, "lit_1_18", "C", "", "Marcas/Cicatrizes:");
				report.adicionaCampo(20, 60, "Jsinais", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(6, 2);
			{
				report.adicionaCampo(1, 18, "lit_1_18", "C", "", "Nome(s)da(s)Vitim:");
				report.adicionaCampo(20, 60, "Jnomevitima", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(7, 2);
			{
				report.adicionaCampo(1, 18, "lit_1_18", "C", "", "Infracao Penal...:");
				report.adicionaCampo(20, 60, "Jmotivo", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(9, 2);
			{
				report.adicionaCampo(1, 15, "lit_1_15", "C", "", "Incidencia No.:");
				report.adicionaCampo(17, 3, "Jocorrencia", "N", "999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(10, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoes[001]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(11, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoes[002]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(12, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoes[003]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(13, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoes[004]", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(15, 4);
			{
				report.adicionaCampo(1, 16, "lit_1_16", "C", "", "Cadastrado por :");
				report.adicionaCampo(19, 7, "Jmatricula", "N", "9999999", "");
				report.adicionaCampo(27, 1, "lit_27_1", "C", "", "-");
				report.adicionaCampo(30, 30, "Jnomedigitador", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(16, 9);
			{
				report.adicionaCampo(12, 2, "lit_12_2", "C", "", "Em");
				report.adicionaCampo(16, 1, "lit_16_1", "C", "", ":");
				report.adicionaCampo(19, 2, "Jdiadig", "N", "99", "");
				report.adicionaCampo(22, 1, "lit_22_1", "C", "", "/");
				report.adicionaCampo(24, 2, "Jmesdig", "N", "99", "");
				report.adicionaCampo(27, 1, "lit_27_1", "C", "", "/");
				report.adicionaCampo(29, 4, "Janodig", "N", "", "");
				report.adicionaCampo(34, 3, "lit_34_3", "C", "", "`as");
				report.adicionaCampo(39, 8, "Jhorario", "N", "99:99:99:99", "");
				report.setFimLinhaRel();
			}
		}
		setHoraCorrente(horaCorrente);
		setDataCorrente(dataCorrente);
	}

	public boolean validar() {
		// validar os campos recebidos da tela
		return true;
	}

	public int getDataCorrente() {
		return dataCorrente;
	}

	public void setDataCorrente(int dataCorrente) throws ParseException {
		this.dataCorrente = dataCorrente;
		report.adicionaValorReport("dataCorrente", dataCorrente);
	}

	public int getJpagina() {
		return jPagina;
	}

	public void setJpagina(int jPagina) throws ParseException {
		this.jPagina = jPagina;
		report.adicionaValorReport("Jpagina", jPagina);
	}

	public int getJdiaini() {
		return jDiaIni;
	}

	public void setJdiaini(int jDiaIni) throws ParseException {
		this.jDiaIni = jDiaIni;
		report.adicionaValorReport("Jdiaini", jDiaIni);
	}

	public int getJmesini() {
		return jMesIni;
	}

	public void setJmesini(int jMesIni) throws ParseException {
		this.jMesIni = jMesIni;
		report.adicionaValorReport("Jmesini", jMesIni);
	}

	public int getJanoini() {
		return jAnoIni;
	}

	public void setJanoini(int jAnoIni) throws ParseException {
		this.jAnoIni = jAnoIni;
		report.adicionaValorReport("Janoini", jAnoIni);
	}

	public int getJdiafim() {
		return jDiaFim;
	}

	public void setJdiafim(int jDiaFim) throws ParseException {
		this.jDiaFim = jDiaFim;
		report.adicionaValorReport("Jdiafim", jDiaFim);
	}

	public int getJmesfim() {
		return jMesFim;
	}

	public void setJmesfim(int jMesFim) throws ParseException {
		this.jMesFim = jMesFim;
		report.adicionaValorReport("Jmesfim", jMesFim);
	}

	public int getJanofim() {
		return jAnoFim;
	}

	public void setJanofim(int jAnoFim) throws ParseException {
		this.jAnoFim = jAnoFim;
		report.adicionaValorReport("Janofim", jAnoFim);
	}

	public long getJregGeral() {
		return jReggeral;
	}

	public void setJregGeral(long jReggeral) throws ParseException {
		this.jReggeral = jReggeral;
		report.adicionaValorReport("JregGeral", jReggeral);
	}

	public String getJnomecompleto() {
		return jNomeCompleto;
	}

	public void setJnomecompleto(String jNomeCompleto) throws ParseException {
		this.jNomeCompleto = jNomeCompleto;
		report.adicionaValorReport("Jnomecompleto", jNomeCompleto);
	}

	public String getJnomeanterior() {
		return jNomeAnterior;
	}

	public void setJnomeanterior(String jNomeAnterior) throws ParseException {
		this.jNomeAnterior = jNomeAnterior;
		report.adicionaValorReport("Jnomeanterior", jNomeAnterior);
	}

	public int getDnas() {
		return dnas;
	}

	public void setDnas(int dnas) throws ParseException {
		this.dnas = dnas;
		report.adicionaValorReport("Dnas", dnas);
	}

	public int getMnas() {
		return mnas;
	}

	public void setMnas(int mnas) throws ParseException {
		this.mnas = mnas;
		report.adicionaValorReport("Mnas", mnas);
	}

	public int getAnas() {
		return anas;
	}

	public void setAnas(int anas) throws ParseException {
		this.anas = anas;
		report.adicionaValorReport("Anas", anas);
	}

	public String[][] getDedos() {
		return dedos;
	}

	public void setDedos(String[][] dedos) throws ParseException {
		this.dedos = dedos;
		report.adicionaValorReport("Dedos", dedos);
	}

	public void setDedos(int index1, int index2, String dedos) throws ParseException {
		this.dedos[index1][index2] = dedos;
		report.adicionaValorReport("Dedos[" + String.valueOf(index1) + "][" + String.valueOf(index2) + "]", dedos);
	}

	public String[] getJalcunha() {
		return jAlcunha;
	}

	public void setJalcunha(String[] jAlcunha) throws ParseException {
		this.jAlcunha = jAlcunha;
		report.adicionaValorReport("Jalcunha", jAlcunha);
	}

	public String getJalcunha(int index) {
		return jAlcunha[index];
	}

	public void setJalcunha(int index, String jAlcunha) throws ParseException {
		this.jAlcunha[index] = jAlcunha;
		report.adicionaValorReport("Jalcunha[" + String.valueOf(index) + "]", jAlcunha);
	}

	public String getJdelegacia() {
		return jDelegacia;
	}

	public void setJdelegacia(String jDelegacia) throws ParseException {
		this.jDelegacia = jDelegacia;
		report.adicionaValorReport("Jdelegacia", jDelegacia);
	}

	public String getJdescmunicipio() {
		return jDescMunicipio;
	}

	public void setJdescmunicipio(String jDescMunicipio) throws ParseException {
		this.jDescMunicipio = jDescMunicipio;
		report.adicionaValorReport("Jdescmunicipio", jDescMunicipio);
	}

	public int getJmunicipio() {
		return jMunicipio;
	}

	public void setJmunicipio(int jMunicipio) throws ParseException {
		this.jMunicipio = jMunicipio;
		report.adicionaValorReport("Jmunicipio", jMunicipio);
	}

	public String getJufreggeral() {
		return jUfRegGeral;
	}

	public void setJufreggeral(String jUfRegGeral) throws ParseException {
		this.jUfRegGeral = jUfRegGeral;
		report.adicionaValorReport("Jufreggeral", jUfRegGeral);
	}

	public int getJdiareg() {
		return jDiaReg;
	}

	public void setJdiareg(int jDiaReg) throws ParseException {
		this.jDiaReg = jDiaReg;
		report.adicionaValorReport("Jdiareg", jDiaReg);
	}

	public int getJmesreg() {
		return jMesReg;
	}

	public void setJmesreg(int jMesReg) throws ParseException {
		this.jMesReg = jMesReg;
		report.adicionaValorReport("Jmesreg", jMesReg);
	}

	public int getJanoreg() {
		return jAnoReg;
	}

	public void setJanoreg(int jAnoReg) throws ParseException {
		this.jAnoReg = jAnoReg;
		report.adicionaValorReport("Janoreg", jAnoReg);
	}

	public long getJnoautos() {
		return jNoAutos;
	}

	public void setJnoautos(long jNoAutos) throws ParseException {
		this.jNoAutos = jNoAutos;
		report.adicionaValorReport("Jnoautos", jNoAutos);
	}

	public int getJdiaatuacao() {
		return jDiaAtuacao;
	}

	public void setJdiaatuacao(int jDiaAtuacao) throws ParseException {
		this.jDiaAtuacao = jDiaAtuacao;
		report.adicionaValorReport("Jdiaatuacao", jDiaAtuacao);
	}

	public int getJmesatuacao() {
		return jMesAtuacao;
	}

	public void setJmesatuacao(int jMesAtuacao) throws ParseException {
		this.jMesAtuacao = jMesAtuacao;
		report.adicionaValorReport("Jmesatuacao", jMesAtuacao);
	}

	public int getJanoatuacao() {
		return jAnoAtuacao;
	}

	public void setJanoatuacao(int jAnoAtuacao) throws ParseException {
		this.jAnoAtuacao = jAnoAtuacao;
		report.adicionaValorReport("Janoatuacao", jAnoAtuacao);
	}

	public long getJidentidade() {
		return jIdentidade;
	}

	public void setJidentidade(long jIdentidade) throws ParseException {
		this.jIdentidade = jIdentidade;
		report.adicionaValorReport("Jidentidade", jIdentidade);
	}

	public String getJpai() {
		return jPai;
	}

	public void setJpai(String jPai) throws ParseException {
		this.jPai = jPai;
		report.adicionaValorReport("Jpai", jPai);
	}

	public String getJmae() {
		return jMae;
	}

	public void setJmae(String jMae) throws ParseException {
		this.jMae = jMae;
		report.adicionaValorReport("Jmae", jMae);
	}

	public int getJsexo() {
		return jSexo;
	}

	public void setJsexo(int jSexo) throws ParseException {
		this.jSexo = jSexo;
		report.adicionaValorReport("Jsexo", jSexo);
	}

	public String getJnaturalidade() {
		return jNaturalidade;
	}

	public void setJnaturalidade(String jNaturalidade) throws ParseException {
		this.jNaturalidade = jNaturalidade;
		report.adicionaValorReport("Jnaturalidade", jNaturalidade);
	}

	public int getJcodmunnascimento() {
		return jCodMunNascimento;
	}

	public void setJcodmunnascimento(int jCodMunNascimento) throws ParseException {
		this.jCodMunNascimento = jCodMunNascimento;
		report.adicionaValorReport("Jcodmunnascimento", jCodMunNascimento);
	}

	public String getJufnascimento() {
		return jUfNascimento;
	}

	public void setJufnascimento(String jUfNascimento) throws ParseException {
		this.jUfNascimento = jUfNascimento;
		report.adicionaValorReport("Jufnascimento", jUfNascimento);
	}

	public String getJdocapresentado() {
		return jDocApresentado;
	}

	public void setJdocapresentado(String jDocApresentado) throws ParseException {
		this.jDocApresentado = jDocApresentado;
		report.adicionaValorReport("Jdocapresentado", jDocApresentado);
	}

	public long getJnumdocapresentado() {
		return jNumDocApresentado;
	}

	public void setJnumdocapresentado(long jNumDocApresentado) throws ParseException {
		this.jNumDocApresentado = jNumDocApresentado;
		report.adicionaValorReport("Jnumdocapresentado", jNumDocApresentado);
	}

	public String getJorgaoexpuf() {
		return jOrgaoExpUf;
	}

	public void setJorgaoexpuf(String jOrgaoExpUf) throws ParseException {
		this.jOrgaoExpUf = jOrgaoExpUf;
		report.adicionaValorReport("Jorgaoexpuf", jOrgaoExpUf);
	}

	public String getJprofissao() {
		return jProfissao;
	}

	public void setJprofissao(String jProfissao) throws ParseException {
		this.jProfissao = jProfissao;
		report.adicionaValorReport("Jprofissao", jProfissao);
	}

	public int getJinstrucao() {
		return jInstrucao;
	}

	public void setJinstrucao(int jInstrucao) throws ParseException {
		this.jInstrucao = jInstrucao;
		report.adicionaValorReport("Jinstrucao", jInstrucao);
	}

	public String getJdescinstrucao() {
		return jDescInstrucao;
	}

	public void setJdescinstrucao(String jDescInstrucao) throws ParseException {
		this.jDescInstrucao = jDescInstrucao;
		report.adicionaValorReport("Jdescinstrucao", jDescInstrucao);
	}

	public String getJavrua() {
		return jAvRua;
	}

	public void setJavrua(String jAvRua) throws ParseException {
		this.jAvRua = jAvRua;
		report.adicionaValorReport("Javrua", jAvRua);
	}

	public int getJnumero() {
		return jNumero;
	}

	public void setJnumero(int jNumero2) throws ParseException {
		this.jNumero = jNumero2;
		report.adicionaValorReport("Jnumero", jNumero2);
	}

	public String getJbairro() {
		return jBairro;
	}

	public void setJbairro(String jBairro) throws ParseException {
		this.jBairro = jBairro;
		report.adicionaValorReport("Jbairro", jBairro);
	}

	public int getJmunendereco() {
		return jMunEndereco;
	}

	public void setJmunendereco(int jMunEndereco) throws ParseException {
		this.jMunEndereco = jMunEndereco;
		report.adicionaValorReport("Jmunendereco", jMunEndereco);
	}

	public String getJufendereco() {
		return jUfEndereco;
	}

	public void setJufendereco(String jUfEndereco) throws ParseException {
		this.jUfEndereco = jUfEndereco;
		report.adicionaValorReport("Jufendereco", jUfEndereco);
	}

	public int getJcep() {
		return jCep;
	}

	public void setJcep(int jCep) throws ParseException {
		this.jCep = jCep;
		report.adicionaValorReport("Jcep", jCep);
	}

	public String getJcomplemento() {
		return jComplemento;
	}

	public void setJcomplemento(String jComplemento) throws ParseException {
		this.jComplemento = jComplemento;
		report.adicionaValorReport("Jcomplemento", jComplemento);
	}

	public String getJstatus() {
		return jStatus;
	}

	public void setJstatus(String jStatus) throws ParseException {
		this.jStatus = jStatus;
		report.adicionaValorReport("Jstatus", jStatus);
	}

	public String getJdescreg() {
		return jDescreg;
	}

	public void setJdescreg(String jDescreg) throws ParseException {
		this.jDescreg = jDescreg;
		report.adicionaValorReport("Jdescreg", jDescreg);
	}

	public int getJaltura() {
		return jAltura;
	}

	public void setJaltura(int jAltura) throws ParseException {
		this.jAltura = jAltura;
		report.adicionaValorReport("Jaltura", jAltura);
	}

	public String getJdescaltura() {
		return jDescAltura;
	}

	public void setJdescaltura(String jDescAltura) throws ParseException {
		this.jDescAltura = jDescAltura;
		report.adicionaValorReport("Jdescaltura", jDescAltura);
	}

	public int getJestadocivil() {
		return jEstadoCivil;
	}

	public void setJestadocivil(int jEstadoCivil) throws ParseException {
		this.jEstadoCivil = jEstadoCivil;
		report.adicionaValorReport("Jestadocivil", jEstadoCivil);
	}

	public String getJdesccivil() {
		return jDescCivil;
	}

	public void setJdesccivil(String jDescCivil) throws ParseException {
		this.jDescCivil = jDescCivil;
		report.adicionaValorReport("Jdesccivil", jDescCivil);
	}

	public int getJcutis() {
		return jCutis;
	}

	public void setJcutis(int jCutis) throws ParseException {
		this.jCutis = jCutis;
		report.adicionaValorReport("Jcutis", jCutis);
	}

	public String getJdesccutis() {
		return jDescCutis;
	}

	public void setJdesccutis(String jDescCutis) throws ParseException {
		this.jDescCutis = jDescCutis;
		report.adicionaValorReport("Jdesccutis", jDescCutis);
	}

	public int getJcorcabelo() {
		return jCorCabelo;
	}

	public void setJcorcabelo(int jCorCabelo) throws ParseException {
		this.jCorCabelo = jCorCabelo;
		report.adicionaValorReport("Jcorcabelo", jCorCabelo);
	}

	public String getJdesccor() {
		return jDescCor;
	}

	public void setJdesccor(String jDescCor) throws ParseException {
		this.jDescCor = jDescCor;
		report.adicionaValorReport("Jdesccor", jDescCor);
	}

	public int getJtipocabelo() {
		return jTipoCabelo;
	}

	public void setJtipocabelo(int jTipoCabelo) throws ParseException {
		this.jTipoCabelo = jTipoCabelo;
		report.adicionaValorReport("Jtipocabelo", jTipoCabelo);
	}

	public String getJdesctipocabelo() {
		return jDescTipocabelo;
	}

	public void setJdesctipocabelo(String jDescTipocabelo) throws ParseException {
		this.jDescTipocabelo = jDescTipocabelo;
		report.adicionaValorReport("Jdesctipocabelo", jDescTipocabelo);
	}

	public int getJcorolhos() {
		return jCorOlhos;
	}

	public void setJcorolhos(int jCorOlhos) throws ParseException {
		this.jCorOlhos = jCorOlhos;
		report.adicionaValorReport("Jcorolhos", jCorOlhos);
	}

	public String getJdescolho() {
		return jDescOlho;
	}

	public void setJdescolho(String jDescOlho) throws ParseException {
		this.jDescOlho = jDescOlho;
		report.adicionaValorReport("Jdescolho", jDescOlho);
	}

	public int getJcompleicao() {
		return jCompleicao;
	}

	public void setJcompleicao(int jCompleicao) throws ParseException {
		this.jCompleicao = jCompleicao;
		report.adicionaValorReport("Jcompleicao", jCompleicao);
	}

	public String getJdesccompleicao() {
		return jDescCompleicao;
	}

	public void setJdesccompleicao(String jDescCompleicao) throws ParseException {
		this.jDescCompleicao = jDescCompleicao;
		report.adicionaValorReport("Jdesccompleicao", jDescCompleicao);
	}

	public String getJsinais() {
		return jSinais;
	}

	public void setJsinais(String jSinais) throws ParseException {
		this.jSinais = jSinais;
		report.adicionaValorReport("Jsinais", jSinais);
	}

	public String getJnomevitima() {
		return jNomeVitima;
	}

	public void setJnomevitima(String jNomeVitima) throws ParseException {
		this.jNomeVitima = jNomeVitima;
		report.adicionaValorReport("Jnomevitima", jNomeVitima);
	}

	public String getJmotivo() {
		return jMotivo;
	}

	public void setJmotivo(String jMotivo) throws ParseException {
		this.jMotivo = jMotivo;
		report.adicionaValorReport("Jmotivo", jMotivo);
	}

	public int getJocorrencia() {
		return jOcorrencia;
	}

	public void setJocorrencia(int jOcorrencia) throws ParseException {
		this.jOcorrencia = jOcorrencia;
		report.adicionaValorReport("Jocorrencia", jOcorrencia);
	}

	public int getJmatricula() {
		return jMatricula;
	}

	public void setJmatricula(int jMatricula) throws ParseException {
		this.jMatricula = jMatricula;
		report.adicionaValorReport("Jmatricula", jMatricula);
	}

	public String getJnomedigitador() {
		return jNomeDigitador;
	}

	public void setJnomedigitador(String jNomeDigitador) throws ParseException {
		this.jNomeDigitador = jNomeDigitador;
		report.adicionaValorReport("Jnomedigitador", jNomeDigitador);
	}

	public int getJdiadig() {
		return jDiaDig;
	}

	public void setJdiadig(int jDiaDig) throws ParseException {
		this.jDiaDig = jDiaDig;
		report.adicionaValorReport("Jdiadig", jDiaDig);
	}

	public int getJmesdig() {
		return jMesDig;
	}

	public void setJmesdig(int jMesDig) throws ParseException {
		this.jMesDig = jMesDig;
		report.adicionaValorReport("Jmesdig", jMesDig);
	}

	public int getJanodig() {
		return jAnoDig;
	}

	public void setJanodig(int jAnoDig) throws ParseException {
		this.jAnoDig = jAnoDig;
		report.adicionaValorReport("Janodig", jAnoDig);
	}

	public int getJhorario() {
		return jHorario;
	}

	public void setJhorario(int jHorario) throws ParseException {
		this.jHorario = jHorario;
		report.adicionaValorReport("Jhorario", jHorario);
	}

	public String[] getJobservacoes() {
		return jObservacoes;
	}

	public void setJobservacoes(String[] jObservacoes) throws ParseException {
		this.jObservacoes = jObservacoes;
		report.adicionaValorReport("Jobservacoes", jObservacoes);
	}

	public String getJobservacoes(int index) {
		return jObservacoes[index];
	}

	public void setJobservacoes(int index, String jObservacoes) throws ParseException {
		this.jObservacoes[index] = jObservacoes;
		report.adicionaValorReport("Jobservacoes", jObservacoes);
	}

	public String getHoraCorrente() {
		return horaCorrente;
	}

	public void setHoraCorrente(String horaCorrente) throws ParseException {
		this.horaCorrente = horaCorrente;
		report.adicionaValorReport("horaCorrente", horaCorrente);
	}

	public void setPageSize(int pagesize) throws JRException {
		report.setPageSize(pagesize);
	}

	public void setLineSize(int linesize) {
		report.setLineSize(linesize);
	}

	public int getPageSize() {
		return report.getPageSize();
	}

	public int getPageLine() {
		return report.getPageLine();
	}

	public void saltaLinhas(int qtdLinhas) throws ParseException, JRException {
		report.saltaLinhas(qtdLinhas);
	}

	public void gravaRelatorio(int nroRel) throws ParseException, JRException {
		setJpagina(report.getPageNumber());
		report.gravaRelatorio(report, nroRel, false);
	}

	public InputStreamDownload imprimir() throws FileNotFoundException, JRException {
		return report.imprimir();
	}
}
